Computer and communication networks commonly use multiple network nodes, such as switches, routers, bridges, etc., to interconnect terminal devices (also referred to as endpoint devices). Example terminal devices include computers, servers, processors, interfaces to other devices, etc. In many networks, such as multi-processor networks, a single type of network node (often implemented as a single chip) having a fixed number of ports is used to interconnect the terminal devices in the network. The number of ports supported by a network node is also referred to as the radix of the node.
A network topology specifies, among other things, the radix of the network nodes implementing the network, and how the terminal devices and nodes are interconnected to form the network. As such, the network topology determines whether pairs of terminal devices in the network are interconnected directly by a single network node, or indirectly via one or more network hops corresponding to one or more additional network nodes used to interconnect the pair of terminal devices. Due to practical limitations, network topology design and implementation has often been limited to employing network nodes having a relatively low radix. However, recent advances in chip and communication technology have enabled the use of higher radix network nodes, which can result in network topologies having fewer nodes and hops than previously possible.